package com.kerwin.controller;

import com.kerwin.param.UserInfoCreateParam;
import com.kerwin.vo.UserInfoVO;
import com.kerwin.utils.ApiResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

/**
 *
 * 案例1-接口状态
 * @Author: kerwin
 * @CreateTime: 2023-02-18  16:27
 */

@RestController
@RequestMapping("/user")
@Slf4j
public class TestController {

    /**
     * 废弃接口展示方法1
     * 可以用注解`@Deprecated`来表示api废弃
     * 也可以用注释`@deprecated`
     *
     * @return
     */
    @Deprecated
    @GetMapping("/test1")
    public ApiResult<UserInfoVO> t2(@RequestBody UserInfoCreateParam test){
        UserInfoVO userInfoVO = new UserInfoVO();
        return ApiResult.ok(userInfoVO);
    }

    /**
     * 废弃接口展示方法2
     * 使用项目内配置文件api.status=#status定义标记接口状态
     * @status deprecated
     * @return
     */
    @GetMapping("/test2")
    public ApiResult<UserInfoVO> t3(){
        UserInfoVO userInfoVO = new UserInfoVO();
        return ApiResult.ok(userInfoVO);
    }

    /**
     * 其余状态展示样例
     * 使用项目内配置文件api.status=#status定义标记接口状态
     * @status developing
     * @return
     */
    @GetMapping("/test3")
    public ApiResult<UserInfoVO> t4(){
        UserInfoVO userInfoVO = new UserInfoVO();
        return ApiResult.ok(userInfoVO);
    }

}
